﻿using System.Collections.ObjectModel;
using System.Windows;
using MaxStoreErp.Core.BaseClasses;
using MaxStoreErp.Core.Commands;
using MaxStoreErp.Core.Interfaces;

namespace MaxStoreErp.Shell.MetroShell
{
    class MetroShellViewModel : ViewModelBase
    {
        IUser _currentUser;
        RelayCommand _loginUserCommand;
        RelayCommand _showNavigationWindowCommand;
        bool _isToolbarEnabled = true;
        RelayCommand _back;
        ObservableCollection<FrameworkElement> _toolbarItems;

        public IUser CurrentUser
        {
            get { return _currentUser; }
            set { OnPropertyChanged(ref _currentUser, value, "CurrentUser"); }
        }

        public RelayCommand LoginUserCommand
        {
            get { return _loginUserCommand; }
            set { OnPropertyChanged(ref _loginUserCommand, value, "LoginUserCommand"); }
        }

        public RelayCommand ShowNavigationWindowCommand
        {
            get { return _showNavigationWindowCommand; }
            set { OnPropertyChanged(ref _showNavigationWindowCommand, value, "ShowNavigationWindowCommand"); }
        }

        public RelayCommand Back
        {
            get { return _back; }
            set { OnPropertyChanged(ref _back, value, "Back"); }
        }

        public bool IsToolbarEnabled
        {
            get { return _isToolbarEnabled; }
            set { OnPropertyChanged(ref _isToolbarEnabled, value, "IsToolbarEnabled"); }
        }

        public ObservableCollection<FrameworkElement> ToolbarItems
        {
            get { return _toolbarItems; }
            set { OnPropertyChanged(ref _toolbarItems, value, "ToolbarItems"); }
        }
    }
}
